Currently, users access a variety of different applications that provide the users with a large amount of data to digest. One type of data that is often presented to the users is semi-structured data that have properties similar to structured data, but these properties cannot be predicted by means of a predefined schema. Semi-structured data are often used in the Web, the data exchange of which cannot be constrained by a schema. Particularly, semi-structured data provide a flexible format for data exchange between, for example, disparate databases. Semi-structured data therefore cannot be managed by a predefined schema. Without a predefined schema, users may have a more difficult time reading and understanding semi-structured data when compared to structured data.
To make semi-structured data more easily understood, applications can visually present the semi-structured data in graphical form by applying various generic layout algorithms to the semi-structured data. For example, an application can apply a particular layout algorithm to generate a force directed graph of semi-structured data. However, all these generic layout algorithms produce predefined graphical layouts of semi-structured data, and many users may not find that such predefined graphical layouts are easy to understand.